package com.yuyang.springcloud.controller;


import cn.hutool.core.lang.UUID;
import com.yuyang.springcloud.entities.CommonResult;
import com.yuyang.springcloud.entities.Payment;
import com.yuyang.springcloud.service.PaymentService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

/**
 * @author yu yang
 * @date 2022/10/25 -15:35
 */
@RestController
@Slf4j
public class PaymentController {
    @Autowired
    private PaymentService paymentService;
    @Value("${server.port}")
    private String serverPort;
    @PostMapping(value = "/payment/create")
    public CommonResult<Integer> create(@RequestBody Payment payment)
    {
        int result = paymentService.create(payment);
        log.info("*****插入操作返回结果:" + result);

        if(result > 0)
        {
            return CommonResult.success(200,"插入数据库成功,port:"+serverPort,result);
        }else{
            return CommonResult.error(444,"插入数据库失败");
        }
    }

    @GetMapping(value = "/payment/get/{id}")
    public CommonResult<Payment> getPaymentById(@PathVariable("id") Long id)
    {
        Payment payment = paymentService.getPaymentById(id);
        log.info("*****查询结果:{}",payment);
        if (payment != null) {
            return CommonResult.success(200,"查询成功,port:"+serverPort,payment);
        }else{
            return CommonResult.error(444,"没有对应记录,查询ID: "+id);
        }
    }


    @RequestMapping(value = "/payment/zk",method = RequestMethod.GET)
    public String paymentzk()
    {
        return "springcloud with zookeeper: "+serverPort+"\t"+ UUID.randomUUID().toString();
    }

}
